﻿using System.Diagnostics;
using System.Diagnostics.Contracts;

namespace DaveSexton.Labs
{
	/// <summary>
	/// Represents a <see cref="TraceListener"/> for <see cref="LabTraceSource"/>.
	/// </summary>
	public abstract class LabTraceListener : TraceListener
	{
		#region Public Properties
		#endregion

		#region Private / Protected
		private const string defaultTraceListenerName = "Labs";
		#endregion

		#region Constructors
		/// <summary>
		/// Constructs a new instance of the <see cref="LabTraceListener" /> class for derived classes.
		/// </summary>
		protected LabTraceListener()
			: base(defaultTraceListenerName)
		{
		}

		/// <summary>
		/// Constructs a new instance of the <see cref="LabTraceListener" /> class for derived classes.
		/// </summary>
		protected LabTraceListener(string name)
			: base(name)
		{
			Contract.Requires(name != null);
		}
		#endregion

		#region Methods
		#endregion
	}
}